package com.hundsun.documentripper.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.hundsun.documentripper.domain.pojo.ProductVersion;
import com.hundsun.documentripper.domain.query.BaseQuery;

import java.util.List;

/**
 * Note：
 *
 * @author ：mengjw
 * @description：产品版本接口
 * @date ：Created in 2021/1/26
 */
public interface ProductVersionService {

    /**
     * 新增产品版本
     *
     * @param productVersion
     */
    void insertProductVersion(ProductVersion productVersion);

    /**
     * 更新产品版本对象
     *
     * @param productVersion
     */
    void updateProductVersion(ProductVersion productVersion);

    /**
     * 根据唯一标识获取产品对象
     *
     * @param uuid
     * @return
     */
    ProductVersion getProductVersionById(String uuid);

    /**
     * 分页获取产品的版本列表
     *
     * @param baseQuery
     * @return
     */
    IPage<ProductVersion> getProductVersionListByPage(BaseQuery baseQuery, String productUuid);

    /**
     * 根据唯一标识删除产品版本
     *
     * @param uuid
     */
    void deleteProductVersion(String uuid);

    /**
     * 根据产品唯一标识获取最新产品版本
     *
     * @param productUuid
     */
    ProductVersion getLastProductVersion(String productUuid);

    /**
     * 获取产品的全部版本
     *
     * @param productUuid
     * @param codeDesc
     * @return
     */
    List<ProductVersion> getAllProductVersion(String productUuid, boolean codeDesc);

    /**
     * 判断是否是最新产品版本
     *
     * @param productVersionUuid
     */
    boolean isLastProductVersion(String productVersionUuid);

}